.glass-effect {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.shine-animation {
    position: relative;
    overflow: hidden;
}

.shine-animation::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(60deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 80%);
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.shine-animation:hover::after {
    opacity: 1;
    animation: shine 1.5s ease;
}

@keyframes shine {
    0% {
        left: -50%;
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        left: 150%;
        opacity: 0;
    }
}

.floating-animation {
    animation: float 6s ease-in-out infinite;
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }
}

.pulse-border {
    animation: pulse-border 2s infinite;
}

@keyframes pulse-border {

    0%,
    100% {
        border-color: rgba(255, 0, 127, 0.3);
    }

    50% {
        border-color: rgba(255, 0, 127, 0.6);
    }
}